อุปกรณ์ที่ได้รับผลกระทบปี2000

คำถามหนึ่งที่เชื่อแน่ว่าทุกคนอยากจะถามออกไปก็คือ มีอุปกรณ์ไหนบ้าง หรือระบบไหนบ้าง ที่ไม่มีปัญหาในเรื่องปี 2000 เลย แต่ก็เชื่อได้อีกเช่นกันว่า คงไม่มีใครกล้ายืนยันแน่ว่าปัญหานี้จะไม่เกิดขึ้น แต่สิ่งหนึ่งที่แน่นอนก็คือ ปัญหาจะเกิดกับฮาร์ดแวร์และซอฟต์แวร์รุ่นเก่า ที่ใช้รูปแบบการเก็บปีเป็น 2 ตำแหน่ง ซึ่งในซอฟต์แวร์ที่พัฒนาขึ้น โดยใช้รูปแบบการเก็บปีเป็น 4 ตำแหน่งก็จะไม่มีปัญหานี้ โดยมีผู้ทดสอบพีซีจำนวนมาก และพบว่าพีซีที่สร้างขึ้นก่อนปี ค.ศ.1996 จะมีปัญหาเกือบทุกเครื่อง และเครื่องที่ผลิตในยุคหลังปี ค.ศ.1997 จะพบปัญหาน้อยลง

หนทางแก้ไข

การแก้ไขสถานการณ์นั้นไม่ใช่เรื่องยาก แต่เป็นเรื่องที่เสียเวลา จากการประมาณการณ์ของสถาบันที่มีชื่อเสียงแห่งหนึ่งในสหรัฐอเมริกา พบว่าจะต้องใช้คนถึง 300 คนต่อปี เพื่อหาและแก้ไขจุดที่อ้างถึงข้อมูลเหล่านี้ในระบบของเขา ซึ่งโดยปกติแล้ว ระบบใหญ่ขององค์กรจะมีโค้ดประมาณ 30 ล้านบรรทัด ผู้เชี่ยวชาญในวงการธุรกิจกล่าวว่า แผนในการแปลงข้อมูลควรจะถูกพัฒนาขึ้น และแก้ไขแอพพลิเคชันทางธุรกิจได้เร็วที่สุด เช่น ความสามารถขององค์กร ในการสร้างใบสั่งซื้อสินค้า จ่ายเงินปันผล เก็บภาษีหรือทำฟังก์ชันอื่นๆ ที่เด่นชัดกว่ากิจกรรมอื่นๆ แน่นอนว่าทูลส์อัตโนมัติต่างๆ จะมีบทบาทสำคัญ ในการตามรอยปัญหาตลอด ทั้งระบบและซอฟต์แวร์ ผู้ค้าซอฟต์แวร์ที่พัฒนาผลิต ภัณฑ์ ซึ่งออกแบบมาเพื่อรองรับปี 2000 โดยเฉพาะ จะต้องใส่ความสามารถในการวิเคราะห์จุดที่อ้างถึงวันที่ได้บรรทัดต่อบรรทัด ทั้งในเทอมของ ข้อมูลและโพรซีเดอร์ สามารถประมาณค่าใช้จ่ายที่ต้องใช้ตีความ และระบุบริเวณที่มีผลกระทบจากปี 2000 รับมือกับการเปลี่ยนแปลงที่เกิดขึ้น และทดสอบเพื่อพิสูจน์ความถูกต้องในการใช้งานกับระบบจริง

สิ่งที่ต้องตระหนักเป็นอันดับแรกก็คือ ไม่มีเครื่องมือพิเศษสำหรับแก้ปัญหานี้ ถึงเราจะส่งมนุษย์ไปดวงจันทร์ได้แล้ว หรือทำสิ่งที่เคยถูกมองว่ามหัศจรรย์อื่นๆ ได้มากมายก็จริง แต่ปัญหาความแตกต่างกันของตัวเลข ในแอพพลิเคชันธุรกิจ แพลตฟอร์มภาษาโปรแกรม เทคโนโลยี สไตล์การโปรแกรม และขอบเขตของธุรกิจ เป็นเรื่องที่สลับซับซ้อน และไม่อาจแก้ไข ได้ทั้งหมดในคราวเดียวกัน แต่ละบริษัทจะต้องแก้ปัญหาเฉพาะจุดด้วยตนเอง

แต่โชคร้าย ที่หนทางเดียวในการทำให้แอพพลิเคชัน ทำงานได้ตามที่คาดหวังไว้ 100% ในศตวรรษหน้าก็คือ การเขียนโปรแกรมทีละบรรทัด และทดสอบแต่ละฟังก์ชันในแอพพลิเคชันที่ให้มา ซึ่งดูเหมือนว่าบริษัทส่วนใหญ่ จะต้องตรวจสอบโปรแกรมเป็นจำนวนนับพันหรือนับล้านบรรทัด ค่าใช้จ่ายในการแก้ปัญหาปี 2000 จะขึ้นอยู่กับ การพิจารณาขอบเขตการจัดการ โดยเฉพาะอย่างยิ่ง เมื่อพิจารณาถึงผลประโยชน์ที่จะได้รับคืนมา ตามการคาดการณ์นั้น ค่าใช้จ่ายทั่วโลกในเรื่องนี้จะอยู่ในช่วง 400-600 พันล้านดอลลาร์ หรือประมาณ 12,000-18,000 พันล้านบาททีเดียว

ไม่ว่าองค์กรของคุณจะใหญ่หรือเล็ก คุณจะเป็นเจ้าของกิจการ หรือเป็นเพียงพนักงานคนหนึ่ง สิ่งที่คุณไม่มีวันหนีพ้นก็คือ ความจริงในเรื่องปัญหาปี 2000 หรือที่เราเรียกกันจนติดปากว่า Y2K โดยเมื่อย่างเข้าสู่วันใหม่นาฬิกาของปี ค.ศ. 2000 ระบบคอมพิวเตอร์ไม่ว่าใหญ่หรือเล็ก จะหยุดทำงานในทันที เมื่อรู้อย่างนี้แล้ว คุณได้เตรียมพร้อมรับมือกับปัญหาที่จะเกิดขึ้นแล้วหรือยัง?

"เห็นได้ชัดว่า ถึงเวลาที่เราทุกคนต้องกระโดดเข้าไปมีส่วนร่วม ในการแก้ปัญหาปี ค.ศ.2000 กันแล้ว"

ปัญหาปี 2000 ไม่ใช่เรื่องของไวรัส หรือปัญหาที่เกิดจากการจงใจก่อวินาศกรรมของคนเรา แต่เป็นเรื่องของ วิวัฒนาการทางเทคโนโลยี ที่ทำให้สิ่งที่เคยดีที่สุดในอดีต ไม่ใช่สิ่งที่ดีที่สุดหรือเหมาะสมที่สุดอีกต่อไป เมื่อก่อนระบบหนึ่งๆ หรือโปรแกรมๆ หนึ่งอาจจะมีอายุการใช้งานไม่เกิน 10 ปี แต่ปัจจุบันนี้ ระบบฐานข้อมูลที่สลับซับซ้อนทำให้ข้อมูลมีการนำไปใช้ต่อๆ กันไปเรื่อยๆ ข้อมูลใหม่ก็มีการสะสมเพิ่มในข้อมูลเก่าไปเรื่อยๆ ทำให้ขอบเขตของการแก้ปัญหาใหญ่กว่าที่คิดไว้ เมื่อเรียกได้ว่าเราต้องรื้อภูเขาข้อมูลกองมหึมา เพื่อให้ลงไปถึงรากฐานสุดของข้อมูล และเริ่มต้นแก้ไขที่จุดนั้น ถ้าไม่ทำก็ไม่ได้ นอกจากว่า คุณจะยกเลิกกิจการในจุดนั้นทุกสิ่งทุกอย่างไป และหันมาทำกิจการใหม่ สร้างทุกสิ่งทุกอย่างขึ้นใหม่แทน

การเปลี่ยนมาใช้เลข 4 ตำแหน่ง แทนการใช้เลขสองตำแหน่ง ก็เป็นวิธีการแก้ปัญหาวิธีหนึ่งเช่นกัน แต่อย่าลืมความจริงที่ว่า ข้อมูลในการทำงานขององค์กร ไม่ได้มีอยู่ไม่กี่ตัว แต่มีอยู่มากมาย รวมทั้งระบบการทำงานในองค์กร ซอฟต์แวร์แอพพลิเคชันที่ใช้ ฮาร์ดแวร์ที่ใช้ก็มีอยู่หลายโปรแกรม หลายรุ่นด้วยกัน แล้วคุณจะมานั่งไล่แก้กันไหวหรือ? ถ้าไม่มีการเตรียมการที่ดีพอ ก็จะเป็นเรื่องสับสนวุ่นวายไม่น้อยทีเดียว

จุดที่จะเป็นปัญหา จากการเปลี่ยนปีคริสตศักราชนั้น ไม่ได้เกิดกับส่วนใดส่วนหนึ่งเพียงอย่างเดียวเท่านั้น แต่จะเกิดจากส่วนประกอบหลายๆ ส่วนต่อไปนี้รวมกัน

  1. Hardware, Firmware ปัญหาปี 2000 จะเกิดขึ้นได้กับเครื่องไอบีเอ็มพีซีคอมแพททิเบิล ระดับเอทีตั้งแต่ 286 ไปจนถึงเพนเทียม ปัญหาเกิดขึ้นจากข้อมูลวันที่ (date) สองแห่ง ที่เก็บไว้ในเครื่องพีซี โดยข้อมูลวันที่อันแรก จะเก็บไว้ในเรียลไทม์คล็อก (CMOS RTC : Real Time Clock) ซึ่งเป็นชิปตัวหนึ่งอยู่บนเมนบอร์ด โดยมีหน้าที่ดูแลและจัดการในส่วนของวันที่ (date) และเวลา (time) ของระบบ แม้ยามปิดเครื่องพูดง่ายๆ มันก็คือ นาฬิกา+ปฏิทินนั่นเอง ส่วนข้อมูลวันที่ (date) อีกอันหนึ่งจะอยู่ในระบบปฏิบัติการ (Operating system) ชิป RTC ในเครื่องพีซีจะเก็บตัวเลขปีเพียง 2 หลักเท่านั้น โดยเก็บไว้ใน CMOS ที่แอดเดรส 9 และสำหรับตัวเลขปีที่เป็นคริสตศักราช ซึ่งหมายถึง 2 หลักแรก ก็จะเก็บไว้ใน CMOS เช่นกันโดยจะอยู่ที่แอดเดรส 5d สำหรับค่านี้จะไม่ถูกเพิ่มโดยอัตโนมัติ แม้ตัวเลขปีจะเปลี่ยนจาก 99 ไปเป็น 00 ผลลัพธ์ของการทำงานที่เกิดขึ้นคือ ข้อมูลวันที่ 2000-01-01 เวลา 00:00:00 จะกลายเป็น 1900-01-01 เวลา 00:00:00 ในชิป RTC ซึ่งโปรแกรมไบออส (BIOS :Basic Input/Output System ) จะกำหนดและอ่านค่าของคริสตศักราชจาก RTC แต่จะไม่เก็บมันไว้
  2. System Software ได้แก่ ไบออส (BIOS), ระบบปฏิบัติการ (OS) และยูทิลิตี้ต่างๆ (Utilities) ที่มีฟังก์ชัน ซึ่งต้องไปเรียกใช้ RTC ดังกล่าวข้างต้นภายใต้สภาพแวดล้อมการทำงานของทั้ง DOS และ Windows จะสามารถนับเพิ่มวันที่ได้ด้วยตัวมันเอง แต่จะไม่เก็บไว้ในชิป RTC ปัญหาจะเกิดขึ้นกับ DOS และ Windows เมื่อพีซีถูกรีบูตหลังจากวันที่ 2000-01-01 00:00:00 เนื่องจากข้อมูลวันที่ ที่ชิป RTC ส่งให้กับ DOS และ Windows จะเป็น 1900-01-01 ซึ่งเมื่อชิป RTC ส่งวันที่ในปี 1900 ให้กับ DOS มันก็จะมีปัญหาเกิดขึ้น เนื่องจาก DOS ไม่รับ (และไม่มี) วันที่ในปีดังกล่าว ทำให้ DOS เปลี่ยนไปใช้ค่าดีฟอลต์ของวันที่ ในตัวมันแทน นั่นคือ 1980-01-01 (หรือ 1980-04-01 ในบางกรณี) คราวนี้ก็ทราบกันเป็นที่เรียบร้อยแล้วนะครับว่า DOS เก็บและดูแลวันที่ของตัวเองอย่างไร? แล้วทำไม วันที่ในปี 2000 ของ DOS จึงเปลี่ยนไปเป็นวันที่ในปี 1980 หลังจากที่บูตเครื่องขึ้นใหม่
  3. Application Software ได้แก่ แอพพลิเคชันที่สร้างขึ้นจากโปรแกรมประยุกต์ต่างๆ อาทิเช่น โคบอล (COBOL), RPG, PL-1 เป็นต้น
  4. Data ได้แก่ ฐานข้อมูล หรือมีเดียในการจัดเก็บ

การแก้ไขให้โปรแกรมเซตอัพ (setup) ของพีซีจัดการกับวันที่ ในปี 2000 ไม่ได้มีกระบวนการที่ยุ่งยากอะไร สิ่งที่ต้องพิจารณาในแอพพลิเคชันแต่ละตัวเลยก็คือ มันมีการอ่านข้อมูลวันที่จากชิป RTC โดยตรงหรือไม่? ซึ่งถ้าแอพพลิเคชันตัวนั้น อ่านข้อมูลวันที่จากชิป RTC โดยตรง ข้อมูลในส่วนของคริสตศักราช ก็จะไม่ถูกอัปเดต สำหรับซอฟต์แวร์ที่ใช้กันอยู่ทุกวันนี้ ส่วนใหญ่จะอ่านวันที่จากระบบปฏิบัติการ คำถามที่เกิดขึ้นตรงนี้คือ ใครจะเป็นผู้รับผิดชอบปัญหาที่เกิดขึ้น ผู้ค้าพีซี ผู้ค้าไบออส ผู้ผลิตซอฟต์แวร์ หรือผู้ใช้?

วิสัยทัศน์ของผู้หลงผิด

  1. โธ่เอ๊ย! เรื่องกล้วยๆ ปี 2000 ก็เป็นแค่ปัญหาทางเทคนิคธรรมดาๆ เท่านั้น แค่เปลี่ยนจาก 2 หลักเป็น 4 หลักเท่านั้น
  2. ไม่เป็นไรหรอกน่า เรายังมีเวลาเหลืออีกตั้งเยอะ
  3. อย่าวิตกไปเลย กว่าจะถึงปี ค.ศ. 2000 ระบบของเราก็ถูกแทนที่ทั้งหมดแล้ว
  4. ไม่มีปัญหา แอพพลิเคชันของเราใหม่หมดทั้งน้าน...
  5. ใจเย็นน่า เดี๋ยวก็จะมีระบบติดปุ๊บ-หายปั๊บออกมาให้ใช้เองแหละ
  6. ไม่ต้องห่วง เดี๋ยวเราจะผลักภาระทั้งหมดไปให้หน่วยงานอื่นทำเอง

ถ้าคุณเป็นคนหนึ่งที่ไม่เห็นความสำคัญของปัญหาปี 2000 และละเลยต่อปัญหา คุณก็จะยังไม่ได้รับผลกระทบอะไร จนกว่าจะถึงเดือนธันวาคม ค.ศ.1999 ก่อนที่ปี ค.ศ. 2000 จะมาถึง ไม่มีใครบอกได้ว่าคุณจะพบกับอะไรบ้าง จนกว่าจะถึงจุดเวลาวิกฤตของฮาร์ดแวร์และซอฟต์แวร์ที่คุณมีอยู่ ซึ่งเป็นจุดที่ฮาร์ดแวร์หรือซอฟต์แวร์ของคุณ จะล้มเหลวต่อการประมวลผลอย่างถูกต้อง

back to main